package main

import (
	"fmt"
)


func main() {
	// 管道可以声明为只读或者只写

	// 只读 只写  是一种属性 ，不是一种新的类型
	 // 1. 默认情况下，管道是双向的
	 // var chan1 chan int // 可读可写
	 
	 // 2. 声明为只写
	 var  chan2 chan <- int
	 chan2 = make(chan int, 3)

	  
	 chan2 <- 20

	//  num := <- chan2  //  执行报错receive from send-only type chan<- int)
	 fmt.Println("chan2=",chan2)

	 // 3 声明为只读
	 var  chan3 <- chan int

	//  chan3 <- 30 // send to receive-only type <-chan int)
	 num2:= <- chan3
	 fmt.Println("num2=",num2)


}